package dao;

import pojo.Table;

import java.util.List;

public interface TableDao {

    /**
     * 添加餐桌的方法
     * @param table
     * @return
     */
    public Integer add(Table table);

    /**
     * 根据餐桌类型查找餐桌编号
     * @param tableType
     * @return
     */
    public Integer findTableCodeByType(String tableType);

    /**
     * 根据条件查找餐桌List
     * @param table
     * @return
     */
    public List<Table> findTableCodeByParams(Table table);

    /**
     * 根据条件查找餐桌List的个数
     * @param table
     * @return
     */
    public Integer countTableCodeByParams(Table table);

    /**
     * 软删除
     * @param tableId
     * @return
     */
    public Integer delete(Table table, String tableId);

    /**
     * 真删除
     * @param tableId
     * @return
     */
    public Integer realDelete(String tableId);

    /**
     * 检查添加信息是否存在
     * @param table
     * @return
     */
    public Integer checkAddInfo(Table table);

    /**
     * 检查编辑信息是否存在
     * @param table
     * @return
     */
    public Integer checkEditInfo(Table table);

    /**
     * 通过id查找编辑餐桌
     * @param tableId
     * @return
     */
    public Table findEditTable(String tableId);

    /**
     * 编辑
     * @param table
     * @return
     */
    public Integer edit(Table table);

    /**
     * 恢复
     * @param tableId
     * @return
     */
    public Integer restore(String tableId);

    /**
     * 前台系统 查询所有餐桌
     * @return
     */
    public List<Table> tableList();

    /**
     * 开台
     * @param tableId
     * @return
     */
    public Integer setUpTable(String tableId);

    /**
     * 预约
     * @param tableId
     * @return
     */
    public Integer bookTable(String tableId);

    /**
     * 取消餐桌预定
     * @param tableId
     * @return
     */
    public Integer cancelBookTable(String tableId);

    Integer addTableInfo(Integer tableId);

    Table findNewTable(Table table);
}
